abstract class $RO_MULTIMAP{K,E} < $CONTAINER{E}
****
A mapping form K -> bags of E. A multimap binds elements of type `E' to keys of type `K'. In contrast to $MAP{K,E} there can be more than one element be bound to a key. It is essentially a one-to-many mapping, that allows for repetitions. i.e. it is a map from K->$BAG{E}


Ancestors
$CONTAINER{_} $ELT{_} $ELT

Descendants
$MULTIMAP{_,_} H_MULTIMAP{_,_} MULTIMAP{_,_}



Public


Features
equals(m: $RO_MULTIMAP{K,E}): BOOL;
**** Return true if all the key-value pairs are found in the same numbers in "m"
has_elt(e: E): BOOL;
**** Return true if the map has the element "e"
has_ind(k: K): BOOL;
**** Returns true if the map has the element "k"
ind!: K;
**** Yields all keys which are bound in unspecifierd order.
n_inds: INT;
**** Returns the number of keys which are bound.
n_targets(k:K): INT;
**** Returns the number of elements bound to the index `k'.
pair!: TUP{K,E};
**** Yields all bindings in unpecified order.
size: INT;
**** Returns the number of bindings in the dicitonary.
target!(once k:K): E;
**** Yields all elements wich are bound to 'k' in unspecified order.
targets(k: K): $BAG{E};
**** Returns all the targets of the element "k"

The Sather Home Page